﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dominio.Excepciones;

namespace Dominio.Entidades
{
    public partial class Juegos
    {
        public Juegos GetJuegoById(int idJuego) 
        {
            AgenciaEntities contexto = Contexto.GetContexto();
            Juegos juego = null;
            juego = contexto.Juegos.Where(o => o._IdJuego == idJuego).First();
            
            return juego;
        }

        public void GuardarJuego() 
        {
            AgenciaEntities contexto = Contexto.GetContexto();
            contexto.Juegos.AddObject(this);
        }

        public void BajaJuego() 
        {
            AgenciaEntities contexto = Contexto.GetContexto();
            Juegos juego = contexto.Juegos.Where(j => j.IdJuego == this.IdJuego).First();
            juego.Activo = false;
            contexto.SaveChanges();
        }

        public bool Exists() 
        {
            bool existe = false;
            List<Juegos> ListaJuegos = Contexto.GetContexto().Juegos.ToList();
            if (ListaJuegos.Exists(o => o.Descripcion.Equals(this.Descripcion)))
            {
                existe = true;
            }
            return existe;
        }

        public List<Juegos> JuegosActivos() 
        {
            AgenciaEntities contexto = Contexto.GetContexto();
            List<Juegos> ret = (from o in contexto.Juegos where o.Activo == true select o).ToList();
            
            return ret;
        }

        public override string ToString()
        {
            return this._Descripcion;
        }

        public void ActualizarComision(int comision) 
        {
            this.Comision = comision;
            AgenciaEntities contexto = Contexto.GetContexto();
            contexto.SaveChanges();
        }
    }
}
